// JavaScript Document

/***** FUNCTIES GEBRUIKT DOOR film_detail.html *****/

function laadDetails()
{
	/** Details van geselecteerde film inladen **/
	var id = getCookie('film_id');	//film id opvragen vanuit cookie
	
	if(id == "")	//als er geen id is gedefiniëerd, terugvallen op "Vertigo" (eerste film in de lijst)
	{
		id = 426;
	}
	
	if(base_url == "")	//als we nog niet de base url hebben opgevraagd van TMDb, dit nu doen (meer uitleg in de functie setBaseURL in algemeen.js
	{
		setBaseURL();
	}
	
	
	if(id == 74849)
	{
		$.getJSON("https://api.themoviedb.org/3/movie/74849?api_key=" + api_key).done(function(json) {
		console.log(base_url + "w1280" + json.backdrop_path);
		document.getElementsByTagName("header").item(0).style.backgroundImage = "url(" + base_url + "w1280" + json.backdrop_path +")";
		var titel = json.title;
		document.getElementById("filmtitel").innerHTML = titel;
		document.getElementById("jaar").innerHTML = json.release_date.substr(0,4);
		document.getElementById("beschrijving").innerHTML = json.overview;
//		document.getElementById("regisseur").innerHTML = json.

		
		document.getElementById("dag").innerHTML = "?";
		document.getElementById("uur").innerHTML = toonBeginEind("20:00", json.runtime);
		document.getElementById("zaal").innerHTML = "Screen <span class=\"groter\">C</span>";
		
		var categorie;
		categorie = "<div colspan=\"2\" id=\"categorie_div\">" + "Unknown" + "</div>";
		document.getElementById("categorie").innerHTML = categorie;
		})
		.fail(function()
		{
			document.getElementById("filmtitel").innerHTML = connect_error;
		})
		;
	
	} else {
		/* JSON voor film met desbetreffend id opvragen */
		$.getJSON("https://api.themoviedb.org/3/movie/" + id + "?api_key=" + api_key)
		.done(function(json) {
			/* Indien JSON request gelukt, filmdata invullen in pagina elementen */
			console.log(base_url + "w1280" + json.backdrop_path);
			/*console.log(document.getElementsByTagName("header") == 0);*/
			/* TO DO: in zeldzame gevallen, geeft de getElementsByTagName("header") geen element terug, eventueel if inbouwen??? 
				23-08: opgemerkt, niet meer kunnen reproduceren na x keer, mogelijks cache probleem
			*/
			document.getElementsByTagName("header").item(0).style.backgroundImage = "url(" + base_url + "w1280" + json.backdrop_path +")";
			
			var tmp = xmlDoc.getElementsByTagName("film"); //alle films uit XML opvragen
			var film;
			
			for(i = 0; i < tmp.length; i++)
			{
				if(tmp[i].getElementsByTagName('tmdb_id')[0].childNodes[0].nodeValue == id)
				{
					/* zoeken tot film met correcte id is gevonden en info in var film opslaan */
					film = tmp[i];
					break;
				}
			}
	
	
			var titel;
			
			/* als er een alternatieve titel is gedefinieerd in XML, deze gebruiken (bv bij "C'est arrivée..." zou hij anders de Engelse titel geven uit de database)*/
			if(film.getElementsByTagName('alt_title')[0].childNodes[0].nodeValue != "null")
			{
				titel = film.getElementsByTagName('alt_title')[0].childNodes[0].nodeValue;
			} else {
				titel = json.title;
			}
			document.getElementById("filmtitel").innerHTML = titel;
			document.getElementById("jaar").innerHTML = json.release_date.substr(0,4);
			document.getElementById("beschrijving").innerHTML = json.overview;
	//		document.getElementById("regisseur").innerHTML = json.
	
			
			document.getElementById("dag").innerHTML = film.getElementsByTagName('dag')[0].childNodes[0].nodeValue.maakHoofdletter();
			document.getElementById("uur").innerHTML = toonBeginEind(film.getElementsByTagName('uur')[0].childNodes[0].nodeValue, json.runtime);
			document.getElementById("zaal").innerHTML = "Screen <span class=\"groter\">" + film.getElementsByTagName('zaal')[0].childNodes[0].nodeValue + "</span>";

			var categorie = film.getElementsByTagName("categorie")[0].childNodes[0].nodeValue;
			
			console.log(categorie);
			
			switch (categorie)
			{
				case "klass":
					document.getElementById("klass").className = "actief";
					break;
				case "cult":
					document.getElementById("cult").className = "actief";
					break;
				case "pop":
					document.getElementById("pop").className = "actief";
					break;
			}

/*			var categorie;
			//categorie = "<td colspan=\"2\" id=\"categorie_td\">" + catNaarCategorie(film.getElementsByTagName('categorie')[0].childNodes[0].nodeValue) + "</td>";
			categorie = "<div colspan=\"2\" id=\"categorie_div\">" + catNaarCategorie(film.getElementsByTagName('categorie')[0].childNodes[0].nodeValue) + "</div>";
			
			document.getElementById("categorie").innerHTML = categorie;*/

		})
		.fail(function()
		{
			document.getElementById("filmtitel").innerHTML = connect_error;
		})
		;
	}
	/* tweede request voor cast en crewlijst om daar regisseur en 2 castleden te kunnen uithalen */
	$.getJSON("http://api.themoviedb.org/3/movie/" + id + "/credits?api_key=" + api_key)
	.done(function(json) {
		document.getElementById("acteur2").innerHTML = json.cast[0].name + ", " + json.cast[1].name;
		
		for(i = 0; i < json.crew.length; i++)
		{
			if(json.crew[i].job == "Director")
			{
				document.getElementById("regisseur").innerHTML = "Directed by:</br>" + json.crew[i].name;
				break;
			}
		}
	});
	
	
			
	/* derde request voor trailer filmpje */
	$.getJSON("http://api.themoviedb.org/3/movie/" + id + "/videos?api_key=" + api_key)
	.done(function(json) {
		for(i = 0; i < json.results.length; i++)
		{
			if(json.results[i].type == "Trailer")
			{
				var trailer;
				trailer = "<a href=\"#video\" onclick=\"toggleTrailer('" + json.results[i].key + "')\"><div colspan=\"2\" id=\"trailer_div\">Watch trailer</div></a>";
				document.getElementById("trailer_td").innerHTML = trailer;
				break;
			}
		}
		
	});
}

function toggleTrailer(filmId){
	if(filmId == "0")
	{
		document.getElementById('video').style.display = "none";
		document.getElementById('film_info').style.display = "block";
	} else {
		console.log("else!");
		var viewPortHeight = window.innerHeight;
		var video = "<div style=\"height: " + viewPortHeight + "px;\"><button onclick=\"toggleTrailer(0)\">X</button><iframe src=\"http://www.youtube.com/embed/" + filmId + "\"><p>Your browser does not support iframes.</p></iframe></div>";
		console.log(video);
		document.getElementById("video").innerHTML = video;
		document.getElementById('video').style.display = "block";
		document.getElementById('film_info').style.display = "none";
	}
}

function toonBeginEind(starttijd, lengte)
{
	/** Functie die de starttijd en lengte van een film omvormt naar begin- en eindtijd **/
	console.log(lengte);
	var uur = parseInt(starttijd.substr(0,2));
	var minuten = parseInt(starttijd.substr(3,2));
	
	uur += Math.floor(lengte / 60);
	
	if(uur >= 24)
	{
		uur -= 24;
	}
	
	minuten += lengte % 60;
	
	if(minuten >= 60)
	{
		uur++;
		minuten -= 60;
	}
	
	var txt = starttijd + "</br>-</br>";
	
	if(uur < 10)
	{
		txt += "0";	
	}
	
	txt += uur + ":";
	
	if(minuten < 10)
	{
		txt += "0";
	}
	
	txt += minuten;
	
	return txt;
}

function catNaarCategorie(cat)
{
	switch(cat)
	{
		case "pop":
			return "Popular";
			break;
		case "klass":
			return "Classics";
			break;
		case "cult":
			return "Cult";
			break;
		default:
			return undefined;
			break;
	}
}



function konami()
{
	setCookie('film_id', '74849');
	laadDetails();
}
